package q2169_countOperations;

public class Solution_2 {
    /*
    方法1的缺陷在于
    如果nums1 是一个大于 nums2很多的数字 那么递归中有很多无效嵌套
    而只需要进行记录两者相除的数字 然后取余 即可减少很多相减操作
     */
    public int countOperations(int num1, int num2) {
        int ans = 0;
        while (num1 != 0 && num2 != 0) {
            if (num1 >= num2) {
                ans += num1 / num2;
                num1 %= num2;
            } else {
                ans += num2 / num1;
                num2 %= num1;
            }
        }
        return ans;
    }
}
